group { name: "e/widgets/cslider";
   parts {
      part { name: "bg"; type: RECT;
         scale: 1;
         description { state: "default" 0.0;
            rel1.offset: 2 2;
            rel2.offset: -3 -3;
            color_class: "/bg-dark/normal/cslider/base";
            offscale;
         }
      }
      part { name: "clipper"; type: RECT;
         description { state: "default" 0.0;
            rel.to: "e.swallow.content";
         }
         description { state: "disabled" 0.0;
            inherit: "default" 0.0;
            color: 255 255 255 64; // no cc
         }
      }
      part { name: "e.swallow.content"; type: SWALLOW;
         clip_to: "clipper";
         scale: 1;
         description { state: "default" 0.0;
            rel1.offset: 2 2;
            rel2.offset: -3 -3;
            offscale;
         }
      }
      part { name: "e.dragable.cursor"; type: RECT; mouse_events: 0;
         dragable.confine: "e.swallow.content";
         dragable.x: 1 1 0;
         dragable.y: -1 1 0;
         description { state: "default" 0.0;
            fixed: 1 1;
            min: 1 1;
            max: 1 1;
            visible: 0;
            rel.to: "e.swallow.content";
            rel1.relative: 0.5 0.0;
            rel2.relative: 0.5 0.5;
         }
      }
      part { name: "cursor"; type: RECT; mouse_events: 0;
         clip_to: "clipper";
         description { state: "default" 0.0;
            rel1.to_x: "e.dragable.cursor";
            rel1.to_y: "e.swallow.content";
            rel2.to_x: "e.dragable.cursor";
            rel2.to_y: "e.swallow.content";
            color: 255 255 255 192; // no cc
         }
         description { state: "vertical" 0.0;
            inherit: "default" 0.0;
            rel1.to_x: "e.swallow.content";
            rel1.to_y: "e.dragable.cursor";
            rel2.to_x: "e.swallow.content";
            rel2.to_y: "e.dragable.cursor";
         }
      }
   }
   programs {
      program { signal: "e,state,direction,v"; source: "e";
         action: STATE_SET "vertical" 0.0;
         target: "cursor";
      }
      program { signal: "mouse,clicked,1"; source: "inset";
         action: SIGNAL_EMIT "e,action,click" "";
      }
      program { signal: "e,state,disabled"; source: "e";
         action: STATE_SET "disabled" 0.0;
         target: "clipper";
      }
      program { signal: "e,state,enabled"; source: "e";
         action: STATE_SET "default" 0.0;
         target: "clipper";
      }
   }
}
